<?php
/**
 * 登陆状态判断
 */
function _login_state(){
    if(isset($_COOKIE['username'])){
        _alert_back('您已登录，退出后在操作！');
    }
}
/**
 * _runtime()获取函数时间
 * @access public 公开函数
 * @return number float 返回浮点型数字
 */
function _runtime()
{
    $_mtime = explode(' ', microtime());
    return $_mtime[1] + $_mtime[0];
}

/**
 *js返回信息
 * @param unknown $info            
 */
function _alert_back($info)
{
    echo "<script type='text/javascript'>alert('$info');history.back();</script>";
    exit();
}
/**
 * 跳转方式，如果信息为空，重定向到主页
 * @param unknown $_url
 * @param unknown $info
 */
function _location($_url, $info)
{
    if ($info != NULL) {
        echo "<script type='text/javascript'>alert('$info');location.href='$_url';</script>";
        exit();
    } else {
        header('Location:' . $_url);
    }
}

/**
 *
 * @param unknown $_string
 *            POST 需要转义的字符
 * @return unknown 返回转义后的字符
 *         因get_magic_quotes_gpc()函数在php5.4中废弃
 *         所以这个函数判断已经失去作用
 *         直接用mysqli_real_escape_string()取得转义返回
 */
// function _mysqli_string($_string){
// return mysqli_real_escape_string($_string);
// }

/**
 *
 * @param int $_string
 *            //POST 中用户输入的验证码
 * @param int $_string2
 *            //session中的验证码
 */
function _check_code($_string, $_string2)
{
    if ($_string != $_string2) {
        _alert_back('验证码不正确！');
    }
}

/**
 *
 * @return unknown
 */
function _sha1_uniqid()
{
    return sha1(uniqid(rand(), true));
}

/**
 *
 * @param string $_string
 *            //POST 中用户输入的标识符
 * @param string $_string2
 *            //session中的标识符
 */
function _check_uniqid($_string, $_string2)
{
    if ((strlen($_string) != 40) || $_string != $_string2) {
        _alert_back('标识符不匹配！');
    }
    return mysqli_real_escape_string(_link(), addcslashes($_string, "\\%_"));
}

/**
 * __nmsg($width, $height)验证码函数
 *
 * @param int $_width
 *            $_height
 * @access public 公开函数
 * @return void 返回验证码
 */
/**
 *
 * @param number $_width            
 * @param number $_height            
 * @param number $_line            
 * @param number $_bg            
 * @param number $_rnd_code            
 * @param string $_flag            
 */
function _code($_width = 52, $_height = 25, $_line = 6, $_bg = 100, $_rnd_code = 4, $_flag = false)
{
    // $_width = 52; // 验证码图片宽度
    // $_height = 25; // 验证码图片高度
    // $_line = 6;
    // $_bg=100;
    // $_rnd_code = 4; // 代码个数
    // $_flag = false; // 边框是否可见
    for ($i = 0; $i < $_rnd_code; $i ++) {
        $_nmsg .= dechex(mt_rand(0, 15));
    }
    $_SESSION['code'] = $_nmsg; // 得到验证码，传值到注册页面！
    
    $im = imagecreatetruecolor($_width, $_height);
    $white = imagecolorallocate($im, 255, 255, 255);
    $black = imagecolorallocate($im, 0, 0, 0);
    imagefill($im, 0, 0, $white);
    // // 设置边框是否可见
    if ($_flag) {
        imagerectangle($im, 0, 0, $_width - 1, $_height - 1, $black);
    }
    // 设置干扰线条
    for ($i = 0; $i < $_line; $i ++) {
        $color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
        imageline($im, mt_rand(0, $_width), mt_rand(0, $_height), mt_rand(0, $_width), mt_rand(0, $_height), $color);
    }
    // // 设置背景干扰雪花点
    for ($i = 0; $i < $_bg; $i ++) {
        $color = imagecolorallocate($im, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255));
        imagestring($im, 1, mt_rand(0, $_width), mt_rand(0, $_height), '.', $color);
    }
    // // 验证码输出设置
    for ($i = 0; $i < $_rnd_code; $i ++) {
        $color = imagecolorallocate($im, mt_rand(0, 100), mt_rand(0, 150), mt_rand(0, 200));
        imagestring($im, 5, $i * $_width / $_rnd_code + mt_rand(1, 10), mt_rand(1, $_height / 2), $_nmsg[$i], $color);
    }
    
    // imagestring($im, 5, 10, 5, $_nmsg, $black);
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
    // // return $_nmsg;
}
?>